package com.demo.java.OD501_550.OD541;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【小明的幸运数(C卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146512820
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        // 读取n和m
        int n = in.nextInt();  // 指令数量
        int m = in.nextInt();  // 特殊指令值

        int[] nums = new int[n];  // 存储指令的数组
        // 读取每个指令并进行有效性检查
        for (int i = 0; i < n; i++) {
            nums[i] = in.nextInt();
            // 异常情况：指令值不在[-100, 100]范围内
            if (!(nums[i] >= -100 && nums[i] <= 100)) {
                System.out.println(12345);
                return;
            }
        }

        // 异常情况：指令数量不在[1, 100]范围内
        if (!(n >= 1 && n <= 100)) {
            System.out.println(12345);
            return;
        }
        // 异常情况：m值不在[-100, 100]范围内
        if (!(m >= -100 && m <= 100)) {
            System.out.println(12345);
            return;
        }

        int start_pos = 0;  // 初始化小明的起始位置
        int max_pos = 0;    // 初始化最大位置
        int i = 0;

        while (i < n) {
            // 遍历每个指令并计算小明的当前位置
            if (nums[i] == m) {
                // 特殊情况：如果指令是m，根据其方向调整
                if (nums[i] > 0) {
                    start_pos += nums[i] + 1;  // 右移时，步数加1
                } else {
                    start_pos += nums[i] - 1;  // 左移时，步数减1
                }
            } else {
                start_pos += nums[i];  // 正常的情况下，直接移动
            }

            // 更新最大位置
            max_pos = Math.max(max_pos, start_pos);
            i++;
        }

        // 输出最终最大位置
        System.out.println(max_pos);
    }
}